{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "from sklearn.feature_extraction.text import TfidfVectorizer, CountVectorizer\n",
    "from sklearn import linear_model\n",
    "import numpy as np\n",
    "import time\n",
    "import sys\n",
    "from sklearn.model_selection import train_test_split\n",
    "import scipy\n",
    "from sklearn.metrics import log_loss\n",
    "import xgboost as xgb\n",
    "from sklearn.metrics import accuracy_score\n",
    "from sklearn.metrics import roc_auc_score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>qid1</th>\n",
       "      <th>qid2</th>\n",
       "      <th>question1</th>\n",
       "      <th>question2</th>\n",
       "      <th>is_duplicate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>What is the step by step guide to invest in sh...</td>\n",
       "      <td>What is the step by step guide to invest in sh...</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>What is the story of Kohinoor (Koh-i-Noor) Dia...</td>\n",
       "      <td>What would happen if the Indian government sto...</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "      <td>How can I increase the speed of my internet co...</td>\n",
       "      <td>How can Internet speed be increased by hacking...</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>7</td>\n",
       "      <td>8</td>\n",
       "      <td>Why am I mentally very lonely? How can I solve...</td>\n",
       "      <td>Find the remainder when [math]23^{24}[/math] i...</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>9</td>\n",
       "      <td>10</td>\n",
       "      <td>Which one dissolve in water quikly sugar, salt...</td>\n",
       "      <td>Which fish would survive in salt water?</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   id  qid1  qid2                                          question1  \\\n",
       "0   0     1     2  What is the step by step guide to invest in sh...   \n",
       "1   1     3     4  What is the story of Kohinoor (Koh-i-Noor) Dia...   \n",
       "2   2     5     6  How can I increase the speed of my internet co...   \n",
       "3   3     7     8  Why am I mentally very lonely? How can I solve...   \n",
       "4   4     9    10  Which one dissolve in water quikly sugar, salt...   \n",
       "\n",
       "                                           question2  is_duplicate  \n",
       "0  What is the step by step guide to invest in sh...             0  \n",
       "1  What would happen if the Indian government sto...             0  \n",
       "2  How can Internet speed be increased by hacking...             0  \n",
       "3  Find the remainder when [math]23^{24}[/math] i...             0  \n",
       "4            Which fish would survive in salt water?             0  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train = pd.read_csv('train.csv')\n",
    "train = train.dropna(how=\"any\").reset_index(drop=True)\n",
    "\n",
    "train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Logistic Regression with sag solver"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "def getBOW(min_df = 100,ngrams = 1,analyzer = 'word',train = train):\n",
    "    # bag of letter sequences (chars)\n",
    "    \"\"\"\n",
    "    BOW = TfidfVectorizer(min_df = min_df, analyzer=analyzer, ngram_range=(1,ngrams), lowercase=True)\n",
    "    \"\"\"\n",
    "    \n",
    "    BOW = CountVectorizer(min_df = min_df, analyzer=analyzer, ngram_range=(1,ngrams), lowercase=True)\n",
    "\n",
    "    BOW.fit(pd.concat((train['question1'],train['question2'])).unique())\n",
    "    print('Voabulary size is {}'.format(len(BOW.vocabulary_)))\n",
    "    return BOW\n",
    "# word level analyzer\n",
    "def train_params(min_df = 100,ngrams = 1,analyzer = 'word',train = train):\n",
    "    start_time = time.time()\n",
    "    print('BOW and logistic regression')\n",
    "    BOW = getBOW(min_df=min_df,ngrams = ngrams,analyzer = analyzer)\n",
    "    trainq1_trans = BOW.transform(train['question1'].values)\n",
    "    trainq2_trans = BOW.transform(train['question2'].values)\n",
    "    labels = train['is_duplicate'].values\n",
    "    X = scipy.sparse.hstack((trainq1_trans,trainq2_trans))\n",
    "    y = labels\n",
    "    X_train,X_valid,y_train,y_valid = train_test_split(X,y, test_size = 0.33, random_state = 42)\n",
    "    model = linear_model.LogisticRegression(n_jobs=4,solver = 'sag',max_iter = 1000)        \n",
    "    print('fitting ...')\n",
    "    model.fit(X_train,y_train)\n",
    "    print('predicting ...')\n",
    "    y_pred = model.predict(X_valid)\n",
    "    loss = log_loss(y_valid,y_pred)\n",
    "    print('log_loss ... {}'.format(loss))\n",
    "    accuracy = accuracy_score(y_valid,y_pred)\n",
    "    print('accuracy is ... {}'.format(accuracy))\n",
    "    auc = roc_auc_score(y_valid,y_pred)\n",
    "    print('auc is  ... {}'.format(auc))\n",
    "    #print(\"log loss is {}\".format(loss))\n",
    "    end_time =time.time()\n",
    "    print(\"total time elapsed is {}\".format(end_time-start_time))\n",
    "    return [loss,accuracy,auc]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "BOW and logistic regression\n",
      "Voabulary size is 871\n",
      "fitting ...\n",
      "predicting ...\n",
      "log_loss ... 9.761222772948106\n",
      "accuracy is ... 0.717385601319192\n",
      "auc is  ... 0.6639888566904476\n",
      "total time elapsed is 778.9370999336243\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(9.761222772948106, 0.717385601319192, 0.6639888566904476)"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_params(min_df = 1000,ngrams = 2,analyzer = 'word',train = train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "df 10: ng 1\n",
      "BOW and logistic regression\n",
      "Voabulary size is 18596\n",
      "fitting ...\n",
      "predicting ...\n",
      "log_loss ... 8.7342537163125\n",
      "accuracy is ... 0.7471198890679459\n",
      "auc is  ... 0.7162732023783892\n",
      "total time elapsed is 185.00008583068848\n",
      "df 10: ng 2\n",
      "BOW and logistic regression\n",
      "Voabulary size is 76183\n",
      "fitting ...\n",
      "predicting ...\n",
      "log_loss ... 7.960970513044623\n",
      "accuracy is ... 0.7695086759359893\n",
      "auc is  ... 0.7453169835323736\n",
      "total time elapsed is 464.4311978816986\n",
      "df 10: ng 3\n",
      "BOW and logistic regression\n",
      "Voabulary size is 109050\n",
      "fitting ...\n",
      "predicting ...\n",
      "log_loss ... 7.866218863600269\n",
      "accuracy is ... 0.7722519956526628\n",
      "auc is  ... 0.7485146917718372\n",
      "total time elapsed is 524.6094677448273\n",
      "df 100: ng 1\n",
      "BOW and logistic regression\n",
      "Voabulary size is 4412\n",
      "fitting ...\n",
      "predicting ...\n",
      "log_loss ... 9.052929834256808\n",
      "accuracy is ... 0.737893040512686\n",
      "auc is  ... 0.698132024781972\n",
      "total time elapsed is 80.89513683319092\n",
      "df 100: ng 2\n",
      "BOW and logistic regression\n",
      "Voabulary size is 8850\n",
      "fitting ...\n",
      "predicting ...\n",
      "log_loss ... 8.698780931627368\n",
      "accuracy is ... 0.7481467601094329\n",
      "auc is  ... 0.7134822365815261\n",
      "total time elapsed is 148.67664408683777\n",
      "df 100: ng 3\n",
      "BOW and logistic regression\n",
      "Voabulary size is 10579\n",
      "fitting ...\n",
      "predicting ...\n",
      "log_loss ... 8.682731058734223\n",
      "accuracy is ... 0.7486114754712738\n",
      "auc is  ... 0.7146980814968946\n",
      "total time elapsed is 167.92054104804993\n",
      "df 1000: ng 1\n",
      "BOW and logistic regression\n",
      "Voabulary size is 608\n",
      "fitting ...\n",
      "predicting ...\n",
      "log_loss ... 10.043920352285015\n",
      "accuracy is ... 0.7092006146235431\n",
      "auc is  ... 0.6515736855750228\n",
      "total time elapsed is 33.63047814369202\n",
      "df 1000: ng 2\n",
      "BOW and logistic regression\n",
      "Voabulary size is 871\n",
      "fitting ...\n",
      "predicting ...\n",
      "log_loss ... 9.769507526608589\n",
      "accuracy is ... 0.7171457482292096\n",
      "auc is  ... 0.6640321748453353\n",
      "total time elapsed is 81.66920495033264\n",
      "df 1000: ng 3\n",
      "BOW and logistic regression\n",
      "Voabulary size is 956\n",
      "fitting ...\n",
      "predicting ...\n",
      "log_loss ... 9.737406905799064\n",
      "accuracy is ... 0.7180751789528913\n",
      "auc is  ... 0.6658448490407364\n",
      "total time elapsed is 135.24699330329895\n"
     ]
    }
   ],
   "source": [
    "df_arr = [10,100,1000]\n",
    "ngrams = [1,2,3]\n",
    "met = np.zeros([3,3,3])\n",
    "for i,df in enumerate(df_arr):\n",
    "    for j,ng in enumerate(ngrams):\n",
    "        print('df {}: ng {}'.format(df,ng))\n",
    "        met[i,j,:] = train_params(min_df = df,ngrams = ng,analyzer = 'word',train = train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.save('logistic.npy',met)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "df 10: ng 1\n",
      "BOW and xgb\n",
      "Voabulary size is 18596\n",
      "[0]\teval-auc:0.768572\ttrain-auc:0.842807\n",
      "[1]\teval-auc:0.794296\ttrain-auc:0.878154\n",
      "[2]\teval-auc:0.808848\ttrain-auc:0.901814\n",
      "[3]\teval-auc:0.81723\ttrain-auc:0.912912\n",
      "[4]\teval-auc:0.823848\ttrain-auc:0.922459\n",
      "[5]\teval-auc:0.828458\ttrain-auc:0.929302\n",
      "[6]\teval-auc:0.833341\ttrain-auc:0.935616\n",
      "[7]\teval-auc:0.836093\ttrain-auc:0.938497\n",
      "[8]\teval-auc:0.840059\ttrain-auc:0.943763\n",
      "[9]\teval-auc:0.842278\ttrain-auc:0.946114\n",
      "[10]\teval-auc:0.844521\ttrain-auc:0.948072\n",
      "[11]\teval-auc:0.846698\ttrain-auc:0.950568\n",
      "[12]\teval-auc:0.848253\ttrain-auc:0.952102\n",
      "[13]\teval-auc:0.850865\ttrain-auc:0.954386\n",
      "[14]\teval-auc:0.851951\ttrain-auc:0.955355\n",
      "[15]\teval-auc:0.853606\ttrain-auc:0.957293\n",
      "[16]\teval-auc:0.854585\ttrain-auc:0.958166\n",
      "[17]\teval-auc:0.855402\ttrain-auc:0.958866\n",
      "[18]\teval-auc:0.856175\ttrain-auc:0.959508\n",
      "[19]\teval-auc:0.856882\ttrain-auc:0.96029\n",
      "[20]\teval-auc:0.857735\ttrain-auc:0.961077\n",
      "[21]\teval-auc:0.858386\ttrain-auc:0.961757\n",
      "[22]\teval-auc:0.859046\ttrain-auc:0.962361\n",
      "[23]\teval-auc:0.859822\ttrain-auc:0.962862\n",
      "[24]\teval-auc:0.860197\ttrain-auc:0.963241\n",
      "[25]\teval-auc:0.860594\ttrain-auc:0.96364\n",
      "[26]\teval-auc:0.861287\ttrain-auc:0.964128\n",
      "[27]\teval-auc:0.861825\ttrain-auc:0.964624\n",
      "[28]\teval-auc:0.862227\ttrain-auc:0.965103\n",
      "[29]\teval-auc:0.862719\ttrain-auc:0.96572\n",
      "[30]\teval-auc:0.863094\ttrain-auc:0.966057\n",
      "[31]\teval-auc:0.86358\ttrain-auc:0.966693\n",
      "[32]\teval-auc:0.86478\ttrain-auc:0.967409\n",
      "[33]\teval-auc:0.865336\ttrain-auc:0.967725\n",
      "[34]\teval-auc:0.865801\ttrain-auc:0.968209\n",
      "[35]\teval-auc:0.86625\ttrain-auc:0.968667\n",
      "[36]\teval-auc:0.866445\ttrain-auc:0.968952\n",
      "[37]\teval-auc:0.866839\ttrain-auc:0.969265\n",
      "[38]\teval-auc:0.867217\ttrain-auc:0.96964\n",
      "[39]\teval-auc:0.867526\ttrain-auc:0.969894\n",
      "[40]\teval-auc:0.86779\ttrain-auc:0.97015\n",
      "[41]\teval-auc:0.868211\ttrain-auc:0.970547\n",
      "[42]\teval-auc:0.868443\ttrain-auc:0.970778\n",
      "[43]\teval-auc:0.868738\ttrain-auc:0.970999\n",
      "[44]\teval-auc:0.868974\ttrain-auc:0.971337\n",
      "[45]\teval-auc:0.869356\ttrain-auc:0.971747\n",
      "[46]\teval-auc:0.869647\ttrain-auc:0.972017\n",
      "[47]\teval-auc:0.869833\ttrain-auc:0.972169\n",
      "[48]\teval-auc:0.870097\ttrain-auc:0.972376\n",
      "[49]\teval-auc:0.870384\ttrain-auc:0.972619\n",
      "[50]\teval-auc:0.870677\ttrain-auc:0.972878\n",
      "[51]\teval-auc:0.870892\ttrain-auc:0.973056\n",
      "[52]\teval-auc:0.871091\ttrain-auc:0.973235\n",
      "[53]\teval-auc:0.871227\ttrain-auc:0.973352\n",
      "[54]\teval-auc:0.87153\ttrain-auc:0.973579\n",
      "[55]\teval-auc:0.871813\ttrain-auc:0.973808\n",
      "[56]\teval-auc:0.872282\ttrain-auc:0.974422\n",
      "[57]\teval-auc:0.87245\ttrain-auc:0.974568\n",
      "[58]\teval-auc:0.87271\ttrain-auc:0.974824\n",
      "[59]\teval-auc:0.872978\ttrain-auc:0.975179\n",
      "[60]\teval-auc:0.873498\ttrain-auc:0.975677\n",
      "[61]\teval-auc:0.873692\ttrain-auc:0.975857\n",
      "[62]\teval-auc:0.873826\ttrain-auc:0.976012\n",
      "[63]\teval-auc:0.874089\ttrain-auc:0.976259\n",
      "[64]\teval-auc:0.874312\ttrain-auc:0.976558\n",
      "[65]\teval-auc:0.874432\ttrain-auc:0.976667\n",
      "[66]\teval-auc:0.874678\ttrain-auc:0.976854\n",
      "[67]\teval-auc:0.874883\ttrain-auc:0.977052\n",
      "[68]\teval-auc:0.87502\ttrain-auc:0.977209\n",
      "[69]\teval-auc:0.875248\ttrain-auc:0.977401\n",
      "[70]\teval-auc:0.875338\ttrain-auc:0.977485\n",
      "[71]\teval-auc:0.875662\ttrain-auc:0.977598\n",
      "[72]\teval-auc:0.875785\ttrain-auc:0.977698\n",
      "[73]\teval-auc:0.876238\ttrain-auc:0.977845\n",
      "[74]\teval-auc:0.876368\ttrain-auc:0.978006\n",
      "[75]\teval-auc:0.876484\ttrain-auc:0.978144\n",
      "[76]\teval-auc:0.876626\ttrain-auc:0.978315\n",
      "[77]\teval-auc:0.876741\ttrain-auc:0.978436\n",
      "[78]\teval-auc:0.87688\ttrain-auc:0.978616\n",
      "[79]\teval-auc:0.877027\ttrain-auc:0.978828\n",
      "[80]\teval-auc:0.877132\ttrain-auc:0.97891\n",
      "[81]\teval-auc:0.877261\ttrain-auc:0.979114\n",
      "[82]\teval-auc:0.87737\ttrain-auc:0.9792\n",
      "[83]\teval-auc:0.877534\ttrain-auc:0.979313\n",
      "[84]\teval-auc:0.877905\ttrain-auc:0.980034\n",
      "[85]\teval-auc:0.878276\ttrain-auc:0.980455\n",
      "[86]\teval-auc:0.878439\ttrain-auc:0.980573\n",
      "[87]\teval-auc:0.87853\ttrain-auc:0.980664\n",
      "[88]\teval-auc:0.878705\ttrain-auc:0.980751\n",
      "[89]\teval-auc:0.878804\ttrain-auc:0.980873\n",
      "[90]\teval-auc:0.878934\ttrain-auc:0.980985\n",
      "[91]\teval-auc:0.879042\ttrain-auc:0.981086\n",
      "[92]\teval-auc:0.879178\ttrain-auc:0.981179\n",
      "[93]\teval-auc:0.879223\ttrain-auc:0.981268\n",
      "[94]\teval-auc:0.879357\ttrain-auc:0.981377\n",
      "[95]\teval-auc:0.879474\ttrain-auc:0.981462\n",
      "[96]\teval-auc:0.879576\ttrain-auc:0.981585\n",
      "[97]\teval-auc:0.879637\ttrain-auc:0.981688\n",
      "[98]\teval-auc:0.879746\ttrain-auc:0.981761\n",
      "[99]\teval-auc:0.879821\ttrain-auc:0.981813\n",
      "log_loss ... 0.4132242730612201\n",
      "accuracy is ... 0.8046771352546566\n",
      "auc is  ... 0.8798213563102594\n",
      "total time elapsed is 131.14232325553894\n",
      "df 10: ng 2\n",
      "BOW and xgb\n",
      "Voabulary size is 76183\n",
      "[0]\teval-auc:0.762786\ttrain-auc:0.832482\n",
      "[1]\teval-auc:0.790086\ttrain-auc:0.867385\n",
      "[2]\teval-auc:0.803465\ttrain-auc:0.886274\n",
      "[3]\teval-auc:0.812339\ttrain-auc:0.899709\n",
      "[4]\teval-auc:0.818365\ttrain-auc:0.908765\n",
      "[5]\teval-auc:0.824563\ttrain-auc:0.918972\n",
      "[6]\teval-auc:0.83256\ttrain-auc:0.929244\n",
      "[7]\teval-auc:0.835692\ttrain-auc:0.933425\n",
      "[8]\teval-auc:0.839518\ttrain-auc:0.938572\n",
      "[9]\teval-auc:0.841946\ttrain-auc:0.941002\n",
      "[10]\teval-auc:0.843845\ttrain-auc:0.942181\n",
      "[11]\teval-auc:0.846936\ttrain-auc:0.945172\n",
      "[12]\teval-auc:0.848138\ttrain-auc:0.946492\n",
      "[13]\teval-auc:0.848911\ttrain-auc:0.947561\n",
      "[14]\teval-auc:0.850341\ttrain-auc:0.949622\n",
      "[15]\teval-auc:0.85269\ttrain-auc:0.951862\n",
      "[16]\teval-auc:0.854042\ttrain-auc:0.952887\n",
      "[17]\teval-auc:0.854875\ttrain-auc:0.953502\n",
      "[18]\teval-auc:0.855774\ttrain-auc:0.954357\n",
      "[19]\teval-auc:0.856767\ttrain-auc:0.955341\n",
      "[20]\teval-auc:0.857566\ttrain-auc:0.956245\n",
      "[21]\teval-auc:0.858738\ttrain-auc:0.957434\n",
      "[22]\teval-auc:0.859337\ttrain-auc:0.958043\n",
      "[23]\teval-auc:0.859907\ttrain-auc:0.958692\n",
      "[24]\teval-auc:0.860386\ttrain-auc:0.959343\n",
      "[25]\teval-auc:0.860837\ttrain-auc:0.959745\n",
      "[26]\teval-auc:0.86134\ttrain-auc:0.96032\n",
      "[27]\teval-auc:0.861695\ttrain-auc:0.960745\n",
      "[28]\teval-auc:0.862238\ttrain-auc:0.961392\n",
      "[29]\teval-auc:0.862801\ttrain-auc:0.961936\n",
      "[30]\teval-auc:0.863177\ttrain-auc:0.962383\n",
      "[31]\teval-auc:0.863428\ttrain-auc:0.962731\n",
      "[32]\teval-auc:0.863767\ttrain-auc:0.96304\n",
      "[33]\teval-auc:0.864364\ttrain-auc:0.963751\n",
      "[34]\teval-auc:0.864718\ttrain-auc:0.964278\n",
      "[35]\teval-auc:0.86512\ttrain-auc:0.964882\n",
      "[36]\teval-auc:0.865492\ttrain-auc:0.965407\n",
      "[37]\teval-auc:0.865817\ttrain-auc:0.965715\n",
      "[38]\teval-auc:0.866058\ttrain-auc:0.966074\n",
      "[39]\teval-auc:0.866261\ttrain-auc:0.966349\n",
      "[40]\teval-auc:0.867192\ttrain-auc:0.966814\n",
      "[41]\teval-auc:0.867597\ttrain-auc:0.966954\n",
      "[42]\teval-auc:0.86809\ttrain-auc:0.96748\n",
      "[43]\teval-auc:0.868214\ttrain-auc:0.967766\n",
      "[44]\teval-auc:0.868469\ttrain-auc:0.968107\n",
      "[45]\teval-auc:0.868565\ttrain-auc:0.968295\n",
      "[46]\teval-auc:0.868941\ttrain-auc:0.968597\n",
      "[47]\teval-auc:0.869232\ttrain-auc:0.968852\n",
      "[48]\teval-auc:0.869549\ttrain-auc:0.969131\n",
      "[49]\teval-auc:0.869801\ttrain-auc:0.96935\n",
      "[50]\teval-auc:0.869942\ttrain-auc:0.969514\n",
      "[51]\teval-auc:0.870189\ttrain-auc:0.969802\n",
      "[52]\teval-auc:0.870459\ttrain-auc:0.970089\n",
      "[53]\teval-auc:0.870688\ttrain-auc:0.970262\n",
      "[54]\teval-auc:0.870881\ttrain-auc:0.970488\n",
      "[55]\teval-auc:0.871239\ttrain-auc:0.971013\n",
      "[56]\teval-auc:0.871409\ttrain-auc:0.971214\n",
      "[57]\teval-auc:0.871612\ttrain-auc:0.971418\n",
      "[58]\teval-auc:0.871804\ttrain-auc:0.971624\n",
      "[59]\teval-auc:0.871919\ttrain-auc:0.971781\n",
      "[60]\teval-auc:0.872125\ttrain-auc:0.972042\n",
      "[61]\teval-auc:0.87226\ttrain-auc:0.972208\n",
      "[62]\teval-auc:0.872416\ttrain-auc:0.972397\n",
      "[63]\teval-auc:0.872527\ttrain-auc:0.972684\n",
      "[64]\teval-auc:0.872862\ttrain-auc:0.972952\n",
      "[65]\teval-auc:0.872993\ttrain-auc:0.973153\n",
      "[66]\teval-auc:0.873361\ttrain-auc:0.973401\n",
      "[67]\teval-auc:0.873464\ttrain-auc:0.973497\n",
      "[68]\teval-auc:0.873628\ttrain-auc:0.973633\n",
      "[69]\teval-auc:0.87371\ttrain-auc:0.973742\n",
      "[70]\teval-auc:0.873866\ttrain-auc:0.97398\n",
      "[71]\teval-auc:0.873989\ttrain-auc:0.974085\n",
      "[72]\teval-auc:0.874069\ttrain-auc:0.974195\n",
      "[73]\teval-auc:0.874195\ttrain-auc:0.974331\n",
      "[74]\teval-auc:0.87434\ttrain-auc:0.974435\n",
      "[75]\teval-auc:0.874514\ttrain-auc:0.974613\n",
      "[76]\teval-auc:0.874676\ttrain-auc:0.974775\n",
      "[77]\teval-auc:0.874863\ttrain-auc:0.975258\n",
      "[78]\teval-auc:0.875129\ttrain-auc:0.975607\n",
      "[79]\teval-auc:0.875178\ttrain-auc:0.975718\n",
      "[80]\teval-auc:0.875362\ttrain-auc:0.975911\n",
      "[81]\teval-auc:0.876011\ttrain-auc:0.976654\n",
      "[82]\teval-auc:0.876105\ttrain-auc:0.976748\n",
      "[83]\teval-auc:0.876315\ttrain-auc:0.976967\n",
      "[84]\teval-auc:0.876687\ttrain-auc:0.977307\n",
      "[85]\teval-auc:0.876814\ttrain-auc:0.977419\n",
      "[86]\teval-auc:0.877063\ttrain-auc:0.97766\n",
      "[87]\teval-auc:0.877121\ttrain-auc:0.977738\n",
      "[88]\teval-auc:0.877232\ttrain-auc:0.97785\n",
      "[89]\teval-auc:0.87734\ttrain-auc:0.977976\n",
      "[90]\teval-auc:0.877391\ttrain-auc:0.978073\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[91]\teval-auc:0.877426\ttrain-auc:0.978173\n",
      "[92]\teval-auc:0.877514\ttrain-auc:0.978283\n",
      "[93]\teval-auc:0.877775\ttrain-auc:0.978477\n",
      "[94]\teval-auc:0.878029\ttrain-auc:0.978979\n",
      "[95]\teval-auc:0.878132\ttrain-auc:0.97906\n",
      "[96]\teval-auc:0.878211\ttrain-auc:0.979117\n",
      "[97]\teval-auc:0.878325\ttrain-auc:0.979242\n",
      "[98]\teval-auc:0.878457\ttrain-auc:0.979369\n",
      "[99]\teval-auc:0.878575\ttrain-auc:0.979434\n",
      "log_loss ... 0.4153076962885519\n",
      "accuracy is ... 0.8032754937600719\n",
      "auc is  ... 0.87857510711082\n",
      "total time elapsed is 221.93373894691467\n",
      "df 10: ng 3\n",
      "BOW and xgb\n",
      "Voabulary size is 109050\n",
      "[0]\teval-auc:0.763133\ttrain-auc:0.832278\n",
      "[1]\teval-auc:0.787737\ttrain-auc:0.865459\n",
      "[2]\teval-auc:0.802704\ttrain-auc:0.888317\n",
      "[3]\teval-auc:0.81228\ttrain-auc:0.902367\n",
      "[4]\teval-auc:0.823464\ttrain-auc:0.918363\n",
      "[5]\teval-auc:0.828468\ttrain-auc:0.926134\n",
      "[6]\teval-auc:0.833164\ttrain-auc:0.932091\n",
      "[7]\teval-auc:0.836173\ttrain-auc:0.9361\n",
      "[8]\teval-auc:0.838788\ttrain-auc:0.939504\n",
      "[9]\teval-auc:0.842774\ttrain-auc:0.942676\n",
      "[10]\teval-auc:0.84475\ttrain-auc:0.945066\n",
      "[11]\teval-auc:0.846878\ttrain-auc:0.947152\n",
      "[12]\teval-auc:0.84889\ttrain-auc:0.949668\n",
      "[13]\teval-auc:0.850368\ttrain-auc:0.951173\n",
      "[14]\teval-auc:0.851719\ttrain-auc:0.953199\n",
      "[15]\teval-auc:0.853056\ttrain-auc:0.954588\n",
      "[16]\teval-auc:0.853835\ttrain-auc:0.955101\n",
      "[17]\teval-auc:0.854984\ttrain-auc:0.955984\n",
      "[18]\teval-auc:0.855808\ttrain-auc:0.957072\n",
      "[19]\teval-auc:0.856559\ttrain-auc:0.957704\n",
      "[20]\teval-auc:0.857148\ttrain-auc:0.958198\n",
      "[21]\teval-auc:0.858094\ttrain-auc:0.958995\n",
      "[22]\teval-auc:0.858669\ttrain-auc:0.959545\n",
      "[23]\teval-auc:0.859616\ttrain-auc:0.959916\n",
      "[24]\teval-auc:0.860198\ttrain-auc:0.960371\n",
      "[25]\teval-auc:0.860633\ttrain-auc:0.960704\n",
      "[26]\teval-auc:0.861516\ttrain-auc:0.961525\n",
      "[27]\teval-auc:0.863053\ttrain-auc:0.962825\n",
      "[28]\teval-auc:0.863598\ttrain-auc:0.963801\n",
      "[29]\teval-auc:0.863987\ttrain-auc:0.96443\n",
      "[30]\teval-auc:0.864414\ttrain-auc:0.964836\n",
      "[31]\teval-auc:0.864662\ttrain-auc:0.96507\n",
      "[32]\teval-auc:0.865015\ttrain-auc:0.965364\n",
      "[33]\teval-auc:0.865352\ttrain-auc:0.965597\n",
      "[34]\teval-auc:0.865689\ttrain-auc:0.965961\n",
      "[35]\teval-auc:0.866016\ttrain-auc:0.96636\n",
      "[36]\teval-auc:0.86624\ttrain-auc:0.966602\n",
      "[37]\teval-auc:0.866501\ttrain-auc:0.966809\n",
      "[38]\teval-auc:0.866866\ttrain-auc:0.96715\n",
      "[39]\teval-auc:0.867155\ttrain-auc:0.96748\n",
      "[40]\teval-auc:0.867397\ttrain-auc:0.967782\n",
      "[41]\teval-auc:0.867684\ttrain-auc:0.968079\n",
      "[42]\teval-auc:0.867952\ttrain-auc:0.968386\n",
      "[43]\teval-auc:0.868234\ttrain-auc:0.968698\n",
      "[44]\teval-auc:0.868498\ttrain-auc:0.968946\n",
      "[45]\teval-auc:0.86867\ttrain-auc:0.969153\n",
      "[46]\teval-auc:0.868966\ttrain-auc:0.969448\n",
      "[47]\teval-auc:0.869073\ttrain-auc:0.969675\n",
      "[48]\teval-auc:0.869259\ttrain-auc:0.969886\n",
      "[49]\teval-auc:0.869456\ttrain-auc:0.97008\n",
      "[50]\teval-auc:0.8697\ttrain-auc:0.97044\n",
      "[51]\teval-auc:0.869857\ttrain-auc:0.970618\n",
      "[52]\teval-auc:0.870209\ttrain-auc:0.970973\n",
      "[53]\teval-auc:0.871033\ttrain-auc:0.971612\n",
      "[54]\teval-auc:0.871215\ttrain-auc:0.971841\n",
      "[55]\teval-auc:0.871394\ttrain-auc:0.971995\n",
      "[56]\teval-auc:0.871528\ttrain-auc:0.972115\n",
      "[57]\teval-auc:0.87169\ttrain-auc:0.97238\n",
      "[58]\teval-auc:0.871867\ttrain-auc:0.972539\n",
      "[59]\teval-auc:0.872073\ttrain-auc:0.972703\n",
      "[60]\teval-auc:0.872558\ttrain-auc:0.972963\n",
      "[61]\teval-auc:0.872723\ttrain-auc:0.973115\n",
      "[62]\teval-auc:0.872928\ttrain-auc:0.97329\n",
      "[63]\teval-auc:0.873101\ttrain-auc:0.973455\n",
      "[64]\teval-auc:0.873265\ttrain-auc:0.97369\n",
      "[65]\teval-auc:0.873578\ttrain-auc:0.974137\n",
      "[66]\teval-auc:0.873768\ttrain-auc:0.974322\n",
      "[67]\teval-auc:0.873866\ttrain-auc:0.974446\n",
      "[68]\teval-auc:0.873977\ttrain-auc:0.974552\n",
      "[69]\teval-auc:0.874325\ttrain-auc:0.974756\n",
      "[70]\teval-auc:0.874503\ttrain-auc:0.974925\n",
      "[71]\teval-auc:0.874683\ttrain-auc:0.975059\n",
      "[72]\teval-auc:0.874734\ttrain-auc:0.975168\n",
      "[73]\teval-auc:0.874822\ttrain-auc:0.975257\n",
      "[74]\teval-auc:0.87492\ttrain-auc:0.975373\n",
      "[75]\teval-auc:0.874991\ttrain-auc:0.975473\n",
      "[76]\teval-auc:0.875062\ttrain-auc:0.975565\n",
      "[77]\teval-auc:0.875304\ttrain-auc:0.975771\n",
      "[78]\teval-auc:0.875441\ttrain-auc:0.975895\n",
      "[79]\teval-auc:0.875547\ttrain-auc:0.97602\n",
      "[80]\teval-auc:0.875664\ttrain-auc:0.976198\n",
      "[81]\teval-auc:0.875801\ttrain-auc:0.976347\n",
      "[82]\teval-auc:0.875883\ttrain-auc:0.976469\n",
      "[83]\teval-auc:0.876019\ttrain-auc:0.976615\n",
      "[84]\teval-auc:0.876109\ttrain-auc:0.976756\n",
      "[85]\teval-auc:0.876355\ttrain-auc:0.977017\n",
      "[86]\teval-auc:0.876663\ttrain-auc:0.977187\n",
      "[87]\teval-auc:0.87674\ttrain-auc:0.977277\n",
      "[88]\teval-auc:0.876855\ttrain-auc:0.977399\n",
      "[89]\teval-auc:0.8769\ttrain-auc:0.977486\n",
      "[90]\teval-auc:0.877014\ttrain-auc:0.977595\n",
      "[91]\teval-auc:0.877109\ttrain-auc:0.977689\n",
      "[92]\teval-auc:0.877204\ttrain-auc:0.977797\n",
      "[93]\teval-auc:0.877261\ttrain-auc:0.977865\n",
      "[94]\teval-auc:0.87737\ttrain-auc:0.977963\n",
      "[95]\teval-auc:0.87744\ttrain-auc:0.978032\n",
      "[96]\teval-auc:0.877511\ttrain-auc:0.978128\n",
      "[97]\teval-auc:0.877656\ttrain-auc:0.97822\n",
      "[98]\teval-auc:0.877939\ttrain-auc:0.978359\n",
      "[99]\teval-auc:0.878086\ttrain-auc:0.978484\n",
      "log_loss ... 0.41595696170330476\n",
      "accuracy is ... 0.8045946857549751\n",
      "auc is  ... 0.8780855487838277\n",
      "total time elapsed is 276.8269941806793\n",
      "df 100: ng 1\n",
      "BOW and xgb\n",
      "Voabulary size is 4412\n",
      "[0]\teval-auc:0.766389\ttrain-auc:0.842286\n",
      "[1]\teval-auc:0.792358\ttrain-auc:0.87411\n",
      "[2]\teval-auc:0.803921\ttrain-auc:0.893523\n",
      "[3]\teval-auc:0.812722\ttrain-auc:0.906988\n",
      "[4]\teval-auc:0.822497\ttrain-auc:0.919674\n",
      "[5]\teval-auc:0.827799\ttrain-auc:0.927422\n",
      "[6]\teval-auc:0.833035\ttrain-auc:0.934605\n",
      "[7]\teval-auc:0.836647\ttrain-auc:0.938605\n",
      "[8]\teval-auc:0.839788\ttrain-auc:0.942135\n",
      "[9]\teval-auc:0.842414\ttrain-auc:0.945257\n",
      "[10]\teval-auc:0.84602\ttrain-auc:0.949717\n",
      "[11]\teval-auc:0.848169\ttrain-auc:0.952152\n",
      "[12]\teval-auc:0.849931\ttrain-auc:0.954241\n",
      "[13]\teval-auc:0.851692\ttrain-auc:0.955816\n",
      "[14]\teval-auc:0.852841\ttrain-auc:0.956997\n",
      "[15]\teval-auc:0.853853\ttrain-auc:0.958119\n",
      "[16]\teval-auc:0.854936\ttrain-auc:0.959135\n",
      "[17]\teval-auc:0.855804\ttrain-auc:0.959881\n",
      "[18]\teval-auc:0.856756\ttrain-auc:0.960754\n",
      "[19]\teval-auc:0.857726\ttrain-auc:0.961704\n",
      "[20]\teval-auc:0.858395\ttrain-auc:0.962266\n",
      "[21]\teval-auc:0.859107\ttrain-auc:0.96319\n",
      "[22]\teval-auc:0.859598\ttrain-auc:0.963804\n",
      "[23]\teval-auc:0.860772\ttrain-auc:0.964967\n",
      "[24]\teval-auc:0.861413\ttrain-auc:0.965657\n",
      "[25]\teval-auc:0.861907\ttrain-auc:0.96609\n",
      "[26]\teval-auc:0.862592\ttrain-auc:0.966727\n",
      "[27]\teval-auc:0.863049\ttrain-auc:0.967141\n",
      "[28]\teval-auc:0.863455\ttrain-auc:0.967529\n",
      "[29]\teval-auc:0.86375\ttrain-auc:0.967755\n",
      "[30]\teval-auc:0.863972\ttrain-auc:0.968058\n",
      "[31]\teval-auc:0.864316\ttrain-auc:0.968343\n",
      "[32]\teval-auc:0.86461\ttrain-auc:0.968586\n",
      "[33]\teval-auc:0.865303\ttrain-auc:0.969133\n",
      "[34]\teval-auc:0.865649\ttrain-auc:0.969445\n",
      "[35]\teval-auc:0.865924\ttrain-auc:0.969741\n",
      "[36]\teval-auc:0.866156\ttrain-auc:0.969967\n",
      "[37]\teval-auc:0.866402\ttrain-auc:0.970145\n",
      "[38]\teval-auc:0.866735\ttrain-auc:0.970465\n",
      "[39]\teval-auc:0.867146\ttrain-auc:0.970853\n",
      "[40]\teval-auc:0.867846\ttrain-auc:0.97149\n",
      "[41]\teval-auc:0.868195\ttrain-auc:0.971808\n",
      "[42]\teval-auc:0.868521\ttrain-auc:0.972066\n",
      "[43]\teval-auc:0.868821\ttrain-auc:0.972382\n",
      "[44]\teval-auc:0.869058\ttrain-auc:0.972572\n",
      "[45]\teval-auc:0.869771\ttrain-auc:0.973467\n",
      "[46]\teval-auc:0.870023\ttrain-auc:0.973666\n",
      "[47]\teval-auc:0.87018\ttrain-auc:0.973857\n",
      "[48]\teval-auc:0.870353\ttrain-auc:0.974012\n",
      "[49]\teval-auc:0.870697\ttrain-auc:0.974292\n",
      "[50]\teval-auc:0.87092\ttrain-auc:0.974566\n",
      "[51]\teval-auc:0.871326\ttrain-auc:0.974936\n",
      "[52]\teval-auc:0.871538\ttrain-auc:0.975079\n",
      "[53]\teval-auc:0.871796\ttrain-auc:0.975386\n",
      "[54]\teval-auc:0.871973\ttrain-auc:0.975571\n",
      "[55]\teval-auc:0.872094\ttrain-auc:0.975748\n",
      "[56]\teval-auc:0.8723\ttrain-auc:0.975874\n",
      "[57]\teval-auc:0.872455\ttrain-auc:0.976052\n",
      "[58]\teval-auc:0.872758\ttrain-auc:0.97635\n",
      "[59]\teval-auc:0.87293\ttrain-auc:0.97644\n",
      "[60]\teval-auc:0.873577\ttrain-auc:0.977016\n",
      "[61]\teval-auc:0.873781\ttrain-auc:0.977226\n",
      "[62]\teval-auc:0.873999\ttrain-auc:0.977439\n",
      "[63]\teval-auc:0.874232\ttrain-auc:0.977586\n",
      "[64]\teval-auc:0.874378\ttrain-auc:0.977825\n",
      "[65]\teval-auc:0.874825\ttrain-auc:0.977908\n",
      "[66]\teval-auc:0.875016\ttrain-auc:0.9781\n",
      "[67]\teval-auc:0.875307\ttrain-auc:0.978283\n",
      "[68]\teval-auc:0.875576\ttrain-auc:0.978663\n",
      "[69]\teval-auc:0.875909\ttrain-auc:0.978901\n",
      "[70]\teval-auc:0.876179\ttrain-auc:0.979139\n",
      "[71]\teval-auc:0.876333\ttrain-auc:0.979272\n",
      "[72]\teval-auc:0.876539\ttrain-auc:0.97945\n",
      "[73]\teval-auc:0.876722\ttrain-auc:0.979566\n",
      "[74]\teval-auc:0.876836\ttrain-auc:0.979699\n",
      "[75]\teval-auc:0.877026\ttrain-auc:0.979962\n",
      "[76]\teval-auc:0.877134\ttrain-auc:0.980056\n",
      "[77]\teval-auc:0.877352\ttrain-auc:0.980156\n",
      "[78]\teval-auc:0.877417\ttrain-auc:0.98025\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[79]\teval-auc:0.877498\ttrain-auc:0.98039\n",
      "[80]\teval-auc:0.87772\ttrain-auc:0.980678\n",
      "[81]\teval-auc:0.877794\ttrain-auc:0.980792\n",
      "[82]\teval-auc:0.878108\ttrain-auc:0.981328\n",
      "[83]\teval-auc:0.878383\ttrain-auc:0.981484\n",
      "[84]\teval-auc:0.878507\ttrain-auc:0.9816\n",
      "[85]\teval-auc:0.878677\ttrain-auc:0.98177\n",
      "[86]\teval-auc:0.878992\ttrain-auc:0.982106\n",
      "[87]\teval-auc:0.879116\ttrain-auc:0.98219\n",
      "[88]\teval-auc:0.879258\ttrain-auc:0.982318\n",
      "[89]\teval-auc:0.879313\ttrain-auc:0.982415\n",
      "[90]\teval-auc:0.879393\ttrain-auc:0.982528\n",
      "[91]\teval-auc:0.879573\ttrain-auc:0.982669\n",
      "[92]\teval-auc:0.879617\ttrain-auc:0.982732\n",
      "[93]\teval-auc:0.879773\ttrain-auc:0.982873\n",
      "[94]\teval-auc:0.879987\ttrain-auc:0.983065\n",
      "[95]\teval-auc:0.880113\ttrain-auc:0.983161\n",
      "[96]\teval-auc:0.880215\ttrain-auc:0.983268\n",
      "[97]\teval-auc:0.880326\ttrain-auc:0.983337\n",
      "[98]\teval-auc:0.880523\ttrain-auc:0.983466\n",
      "[99]\teval-auc:0.880661\ttrain-auc:0.983556\n",
      "log_loss ... 0.4119255146135244\n",
      "accuracy is ... 0.8050668965258779\n",
      "auc is  ... 0.8806611036772358\n",
      "total time elapsed is 114.2906858921051\n",
      "df 100: ng 2\n",
      "BOW and xgb\n",
      "Voabulary size is 8850\n",
      "[0]\teval-auc:0.762538\ttrain-auc:0.831905\n",
      "[1]\teval-auc:0.787297\ttrain-auc:0.863781\n",
      "[2]\teval-auc:0.804383\ttrain-auc:0.888703\n",
      "[3]\teval-auc:0.81504\ttrain-auc:0.904415\n",
      "[4]\teval-auc:0.821526\ttrain-auc:0.914243\n",
      "[5]\teval-auc:0.826618\ttrain-auc:0.922207\n",
      "[6]\teval-auc:0.830764\ttrain-auc:0.927748\n",
      "[7]\teval-auc:0.835638\ttrain-auc:0.932852\n",
      "[8]\teval-auc:0.838372\ttrain-auc:0.936619\n",
      "[9]\teval-auc:0.841964\ttrain-auc:0.941695\n",
      "[10]\teval-auc:0.844173\ttrain-auc:0.944632\n",
      "[11]\teval-auc:0.846256\ttrain-auc:0.946621\n",
      "[12]\teval-auc:0.848795\ttrain-auc:0.949881\n",
      "[13]\teval-auc:0.850479\ttrain-auc:0.951906\n",
      "[14]\teval-auc:0.852054\ttrain-auc:0.95386\n",
      "[15]\teval-auc:0.852943\ttrain-auc:0.954985\n",
      "[16]\teval-auc:0.854575\ttrain-auc:0.957095\n",
      "[17]\teval-auc:0.855188\ttrain-auc:0.957663\n",
      "[18]\teval-auc:0.855768\ttrain-auc:0.958284\n",
      "[19]\teval-auc:0.856707\ttrain-auc:0.959489\n",
      "[20]\teval-auc:0.857403\ttrain-auc:0.959913\n",
      "[21]\teval-auc:0.857961\ttrain-auc:0.96055\n",
      "[22]\teval-auc:0.859015\ttrain-auc:0.961693\n",
      "[23]\teval-auc:0.859549\ttrain-auc:0.96242\n",
      "[24]\teval-auc:0.85982\ttrain-auc:0.962772\n",
      "[25]\teval-auc:0.860436\ttrain-auc:0.963239\n",
      "[26]\teval-auc:0.861021\ttrain-auc:0.963893\n",
      "[27]\teval-auc:0.8618\ttrain-auc:0.964524\n",
      "[28]\teval-auc:0.86253\ttrain-auc:0.965263\n",
      "[29]\teval-auc:0.864115\ttrain-auc:0.967576\n",
      "[30]\teval-auc:0.864432\ttrain-auc:0.967888\n",
      "[31]\teval-auc:0.864792\ttrain-auc:0.968257\n",
      "[32]\teval-auc:0.86512\ttrain-auc:0.968497\n",
      "[33]\teval-auc:0.86543\ttrain-auc:0.968762\n",
      "[34]\teval-auc:0.865764\ttrain-auc:0.96904\n",
      "[35]\teval-auc:0.866069\ttrain-auc:0.969236\n",
      "[36]\teval-auc:0.866628\ttrain-auc:0.969956\n",
      "[37]\teval-auc:0.866807\ttrain-auc:0.970244\n",
      "[38]\teval-auc:0.8671\ttrain-auc:0.970557\n",
      "[39]\teval-auc:0.867355\ttrain-auc:0.97088\n",
      "[40]\teval-auc:0.867725\ttrain-auc:0.971229\n",
      "[41]\teval-auc:0.867983\ttrain-auc:0.971603\n",
      "[42]\teval-auc:0.868159\ttrain-auc:0.971829\n",
      "[43]\teval-auc:0.868425\ttrain-auc:0.972047\n",
      "[44]\teval-auc:0.868623\ttrain-auc:0.972286\n",
      "[45]\teval-auc:0.868977\ttrain-auc:0.972611\n",
      "[46]\teval-auc:0.869096\ttrain-auc:0.972809\n",
      "[47]\teval-auc:0.869597\ttrain-auc:0.973208\n",
      "[48]\teval-auc:0.869814\ttrain-auc:0.973445\n",
      "[49]\teval-auc:0.870117\ttrain-auc:0.973703\n",
      "[50]\teval-auc:0.87042\ttrain-auc:0.973933\n",
      "[51]\teval-auc:0.870708\ttrain-auc:0.974116\n",
      "[52]\teval-auc:0.870923\ttrain-auc:0.974377\n",
      "[53]\teval-auc:0.871143\ttrain-auc:0.974622\n",
      "[54]\teval-auc:0.871414\ttrain-auc:0.974947\n",
      "[55]\teval-auc:0.871587\ttrain-auc:0.975109\n",
      "[56]\teval-auc:0.871693\ttrain-auc:0.975303\n",
      "[57]\teval-auc:0.872106\ttrain-auc:0.975618\n",
      "[58]\teval-auc:0.872281\ttrain-auc:0.975792\n",
      "[59]\teval-auc:0.872623\ttrain-auc:0.976108\n",
      "[60]\teval-auc:0.872904\ttrain-auc:0.976364\n",
      "[61]\teval-auc:0.873089\ttrain-auc:0.976546\n",
      "[62]\teval-auc:0.873309\ttrain-auc:0.976714\n",
      "[63]\teval-auc:0.873791\ttrain-auc:0.977097\n",
      "[64]\teval-auc:0.873946\ttrain-auc:0.977235\n",
      "[65]\teval-auc:0.873992\ttrain-auc:0.977386\n",
      "[66]\teval-auc:0.874125\ttrain-auc:0.977529\n",
      "[67]\teval-auc:0.874223\ttrain-auc:0.977653\n",
      "[68]\teval-auc:0.8747\ttrain-auc:0.978183\n",
      "[69]\teval-auc:0.874815\ttrain-auc:0.978353\n",
      "[70]\teval-auc:0.874955\ttrain-auc:0.97847\n",
      "[71]\teval-auc:0.875105\ttrain-auc:0.978611\n",
      "[72]\teval-auc:0.875287\ttrain-auc:0.978732\n",
      "[73]\teval-auc:0.875519\ttrain-auc:0.978895\n",
      "[74]\teval-auc:0.875773\ttrain-auc:0.979414\n",
      "[75]\teval-auc:0.875902\ttrain-auc:0.979644\n",
      "[76]\teval-auc:0.876113\ttrain-auc:0.979831\n",
      "[77]\teval-auc:0.876251\ttrain-auc:0.979978\n",
      "[78]\teval-auc:0.876365\ttrain-auc:0.980067\n",
      "[79]\teval-auc:0.876602\ttrain-auc:0.980214\n",
      "[80]\teval-auc:0.876709\ttrain-auc:0.980313\n",
      "[81]\teval-auc:0.877815\ttrain-auc:0.981632\n",
      "[82]\teval-auc:0.877966\ttrain-auc:0.981794\n",
      "[83]\teval-auc:0.878086\ttrain-auc:0.981915\n",
      "[84]\teval-auc:0.878193\ttrain-auc:0.982033\n",
      "[85]\teval-auc:0.878334\ttrain-auc:0.982188\n",
      "[86]\teval-auc:0.87853\ttrain-auc:0.982349\n",
      "[87]\teval-auc:0.878585\ttrain-auc:0.982463\n",
      "[88]\teval-auc:0.878714\ttrain-auc:0.982625\n",
      "[89]\teval-auc:0.878873\ttrain-auc:0.982765\n",
      "[90]\teval-auc:0.879017\ttrain-auc:0.982905\n",
      "[91]\teval-auc:0.879057\ttrain-auc:0.982976\n",
      "[92]\teval-auc:0.879151\ttrain-auc:0.983118\n",
      "[93]\teval-auc:0.879241\ttrain-auc:0.98327\n",
      "[94]\teval-auc:0.879428\ttrain-auc:0.98344\n",
      "[95]\teval-auc:0.879534\ttrain-auc:0.983521\n",
      "[96]\teval-auc:0.879621\ttrain-auc:0.983622\n",
      "[97]\teval-auc:0.879752\ttrain-auc:0.983807\n",
      "[98]\teval-auc:0.879984\ttrain-auc:0.98392\n",
      "[99]\teval-auc:0.880087\ttrain-auc:0.98403\n",
      "log_loss ... 0.413445669966402\n",
      "accuracy is ... 0.8048495296630813\n",
      "auc is  ... 0.8800865481592999\n",
      "total time elapsed is 165.684308052063\n",
      "df 100: ng 3\n",
      "BOW and xgb\n",
      "Voabulary size is 10579\n",
      "[0]\teval-auc:0.762483\ttrain-auc:0.832076\n",
      "[1]\teval-auc:0.788377\ttrain-auc:0.866812\n",
      "[2]\teval-auc:0.802001\ttrain-auc:0.88646\n",
      "[3]\teval-auc:0.81241\ttrain-auc:0.903148\n",
      "[4]\teval-auc:0.819521\ttrain-auc:0.914492\n",
      "[5]\teval-auc:0.825775\ttrain-auc:0.922211\n",
      "[6]\teval-auc:0.830851\ttrain-auc:0.930062\n",
      "[7]\teval-auc:0.835366\ttrain-auc:0.936297\n",
      "[8]\teval-auc:0.838389\ttrain-auc:0.940642\n",
      "[9]\teval-auc:0.841159\ttrain-auc:0.943007\n",
      "[10]\teval-auc:0.844291\ttrain-auc:0.947371\n",
      "[11]\teval-auc:0.845673\ttrain-auc:0.949024\n",
      "[12]\teval-auc:0.847171\ttrain-auc:0.950531\n",
      "[13]\teval-auc:0.848679\ttrain-auc:0.952042\n",
      "[14]\teval-auc:0.849622\ttrain-auc:0.953088\n",
      "[15]\teval-auc:0.853115\ttrain-auc:0.957658\n",
      "[16]\teval-auc:0.854366\ttrain-auc:0.959524\n",
      "[17]\teval-auc:0.855176\ttrain-auc:0.960333\n",
      "[18]\teval-auc:0.855845\ttrain-auc:0.961108\n",
      "[19]\teval-auc:0.856608\ttrain-auc:0.961702\n",
      "[20]\teval-auc:0.857228\ttrain-auc:0.962198\n",
      "[21]\teval-auc:0.858054\ttrain-auc:0.963049\n",
      "[22]\teval-auc:0.858899\ttrain-auc:0.963805\n",
      "[23]\teval-auc:0.859393\ttrain-auc:0.964284\n",
      "[24]\teval-auc:0.859819\ttrain-auc:0.964769\n",
      "[25]\teval-auc:0.860235\ttrain-auc:0.965139\n",
      "[26]\teval-auc:0.860741\ttrain-auc:0.965589\n",
      "[27]\teval-auc:0.861413\ttrain-auc:0.966275\n",
      "[28]\teval-auc:0.862072\ttrain-auc:0.966977\n",
      "[29]\teval-auc:0.862848\ttrain-auc:0.967584\n",
      "[30]\teval-auc:0.863302\ttrain-auc:0.968016\n",
      "[31]\teval-auc:0.863897\ttrain-auc:0.968422\n",
      "[32]\teval-auc:0.864273\ttrain-auc:0.968724\n",
      "[33]\teval-auc:0.864571\ttrain-auc:0.969007\n",
      "[34]\teval-auc:0.865567\ttrain-auc:0.969648\n",
      "[35]\teval-auc:0.865857\ttrain-auc:0.970019\n",
      "[36]\teval-auc:0.866226\ttrain-auc:0.970414\n",
      "[37]\teval-auc:0.866583\ttrain-auc:0.970794\n",
      "[38]\teval-auc:0.866954\ttrain-auc:0.971125\n",
      "[39]\teval-auc:0.867142\ttrain-auc:0.971376\n",
      "[40]\teval-auc:0.867326\ttrain-auc:0.971585\n",
      "[41]\teval-auc:0.867507\ttrain-auc:0.971852\n",
      "[42]\teval-auc:0.868076\ttrain-auc:0.972186\n",
      "[43]\teval-auc:0.868385\ttrain-auc:0.972482\n",
      "[44]\teval-auc:0.868943\ttrain-auc:0.973026\n",
      "[45]\teval-auc:0.869152\ttrain-auc:0.973232\n",
      "[46]\teval-auc:0.869616\ttrain-auc:0.973464\n",
      "[47]\teval-auc:0.8699\ttrain-auc:0.973761\n",
      "[48]\teval-auc:0.870036\ttrain-auc:0.974009\n",
      "[49]\teval-auc:0.870188\ttrain-auc:0.974256\n",
      "[50]\teval-auc:0.870505\ttrain-auc:0.974595\n",
      "[51]\teval-auc:0.870677\ttrain-auc:0.974768\n",
      "[52]\teval-auc:0.870886\ttrain-auc:0.974993\n",
      "[53]\teval-auc:0.871038\ttrain-auc:0.97514\n",
      "[54]\teval-auc:0.871296\ttrain-auc:0.975393\n",
      "[55]\teval-auc:0.871924\ttrain-auc:0.976346\n",
      "[56]\teval-auc:0.872244\ttrain-auc:0.976732\n",
      "[57]\teval-auc:0.872404\ttrain-auc:0.976902\n",
      "[58]\teval-auc:0.872573\ttrain-auc:0.977104\n",
      "[59]\teval-auc:0.872788\ttrain-auc:0.97729\n",
      "[60]\teval-auc:0.873375\ttrain-auc:0.977601\n",
      "[61]\teval-auc:0.8736\ttrain-auc:0.977812\n",
      "[62]\teval-auc:0.873754\ttrain-auc:0.977962\n",
      "[63]\teval-auc:0.873839\ttrain-auc:0.978096\n",
      "[64]\teval-auc:0.873984\ttrain-auc:0.978199\n",
      "[65]\teval-auc:0.87409\ttrain-auc:0.97831\n",
      "[66]\teval-auc:0.874227\ttrain-auc:0.978462\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[67]\teval-auc:0.874287\ttrain-auc:0.978592\n",
      "[68]\teval-auc:0.874409\ttrain-auc:0.978686\n",
      "[69]\teval-auc:0.874526\ttrain-auc:0.978834\n",
      "[70]\teval-auc:0.874886\ttrain-auc:0.979206\n",
      "[71]\teval-auc:0.875035\ttrain-auc:0.979317\n",
      "[72]\teval-auc:0.875196\ttrain-auc:0.979482\n",
      "[73]\teval-auc:0.875327\ttrain-auc:0.979718\n",
      "[74]\teval-auc:0.875446\ttrain-auc:0.97982\n",
      "[75]\teval-auc:0.875708\ttrain-auc:0.979985\n",
      "[76]\teval-auc:0.875898\ttrain-auc:0.980221\n",
      "[77]\teval-auc:0.876176\ttrain-auc:0.980484\n",
      "[78]\teval-auc:0.876259\ttrain-auc:0.980598\n",
      "[79]\teval-auc:0.87642\ttrain-auc:0.980719\n",
      "[80]\teval-auc:0.876479\ttrain-auc:0.980824\n",
      "[81]\teval-auc:0.876608\ttrain-auc:0.980962\n",
      "[82]\teval-auc:0.876923\ttrain-auc:0.981198\n",
      "[83]\teval-auc:0.877045\ttrain-auc:0.981299\n",
      "[84]\teval-auc:0.877107\ttrain-auc:0.981401\n",
      "[85]\teval-auc:0.877192\ttrain-auc:0.981489\n",
      "[86]\teval-auc:0.877269\ttrain-auc:0.981576\n",
      "[87]\teval-auc:0.877348\ttrain-auc:0.981667\n",
      "[88]\teval-auc:0.877514\ttrain-auc:0.981787\n",
      "[89]\teval-auc:0.877683\ttrain-auc:0.981938\n",
      "[90]\teval-auc:0.877804\ttrain-auc:0.982027\n",
      "[91]\teval-auc:0.877935\ttrain-auc:0.982144\n",
      "[92]\teval-auc:0.878207\ttrain-auc:0.982359\n",
      "[93]\teval-auc:0.878292\ttrain-auc:0.982449\n",
      "[94]\teval-auc:0.8784\ttrain-auc:0.982547\n",
      "[95]\teval-auc:0.878487\ttrain-auc:0.982686\n",
      "[96]\teval-auc:0.878717\ttrain-auc:0.982814\n",
      "[97]\teval-auc:0.878866\ttrain-auc:0.98292\n",
      "[98]\teval-auc:0.878965\ttrain-auc:0.983002\n",
      "[99]\teval-auc:0.879109\ttrain-auc:0.983149\n",
      "log_loss ... 0.4145537635984295\n",
      "accuracy is ... 0.8038151632125323\n",
      "auc is  ... 0.8791089925133801\n",
      "total time elapsed is 197.07617926597595\n",
      "df 1000: ng 1\n",
      "BOW and xgb\n",
      "Voabulary size is 608\n",
      "[0]\teval-auc:0.765146\ttrain-auc:0.852323\n",
      "[1]\teval-auc:0.789079\ttrain-auc:0.884647\n",
      "[2]\teval-auc:0.799221\ttrain-auc:0.901349\n",
      "[3]\teval-auc:0.808506\ttrain-auc:0.914602\n",
      "[4]\teval-auc:0.817197\ttrain-auc:0.926121\n",
      "[5]\teval-auc:0.82215\ttrain-auc:0.932725\n",
      "[6]\teval-auc:0.826477\ttrain-auc:0.937954\n",
      "[7]\teval-auc:0.830088\ttrain-auc:0.942758\n",
      "[8]\teval-auc:0.833097\ttrain-auc:0.946208\n",
      "[9]\teval-auc:0.835718\ttrain-auc:0.949454\n",
      "[10]\teval-auc:0.838112\ttrain-auc:0.952073\n",
      "[11]\teval-auc:0.840775\ttrain-auc:0.954884\n",
      "[12]\teval-auc:0.842328\ttrain-auc:0.956371\n",
      "[13]\teval-auc:0.84446\ttrain-auc:0.9584\n",
      "[14]\teval-auc:0.845766\ttrain-auc:0.959874\n",
      "[15]\teval-auc:0.846913\ttrain-auc:0.961129\n",
      "[16]\teval-auc:0.850075\ttrain-auc:0.964244\n",
      "[17]\teval-auc:0.851411\ttrain-auc:0.965204\n",
      "[18]\teval-auc:0.852486\ttrain-auc:0.966097\n",
      "[19]\teval-auc:0.853427\ttrain-auc:0.966935\n",
      "[20]\teval-auc:0.854484\ttrain-auc:0.968944\n",
      "[21]\teval-auc:0.85511\ttrain-auc:0.969713\n",
      "[22]\teval-auc:0.855767\ttrain-auc:0.970468\n",
      "[23]\teval-auc:0.856461\ttrain-auc:0.971065\n",
      "[24]\teval-auc:0.85758\ttrain-auc:0.972671\n",
      "[25]\teval-auc:0.858287\ttrain-auc:0.97339\n",
      "[26]\teval-auc:0.858848\ttrain-auc:0.973736\n",
      "[27]\teval-auc:0.859863\ttrain-auc:0.974803\n",
      "[28]\teval-auc:0.860611\ttrain-auc:0.975395\n",
      "[29]\teval-auc:0.861248\ttrain-auc:0.976073\n",
      "[30]\teval-auc:0.861872\ttrain-auc:0.976666\n",
      "[31]\teval-auc:0.862369\ttrain-auc:0.977178\n",
      "[32]\teval-auc:0.862964\ttrain-auc:0.97798\n",
      "[33]\teval-auc:0.863497\ttrain-auc:0.978642\n",
      "[34]\teval-auc:0.864061\ttrain-auc:0.979148\n",
      "[35]\teval-auc:0.864459\ttrain-auc:0.979488\n",
      "[36]\teval-auc:0.864863\ttrain-auc:0.97977\n",
      "[37]\teval-auc:0.865334\ttrain-auc:0.980274\n",
      "[38]\teval-auc:0.865791\ttrain-auc:0.98069\n",
      "[39]\teval-auc:0.866437\ttrain-auc:0.981197\n",
      "[40]\teval-auc:0.866762\ttrain-auc:0.981478\n",
      "[41]\teval-auc:0.867318\ttrain-auc:0.981777\n",
      "[42]\teval-auc:0.867649\ttrain-auc:0.982254\n",
      "[43]\teval-auc:0.868061\ttrain-auc:0.982777\n",
      "[44]\teval-auc:0.8684\ttrain-auc:0.983099\n",
      "[45]\teval-auc:0.868969\ttrain-auc:0.983734\n",
      "[46]\teval-auc:0.869179\ttrain-auc:0.984015\n",
      "[47]\teval-auc:0.869603\ttrain-auc:0.984569\n",
      "[48]\teval-auc:0.869827\ttrain-auc:0.984751\n",
      "[49]\teval-auc:0.870114\ttrain-auc:0.985038\n",
      "[50]\teval-auc:0.870358\ttrain-auc:0.985263\n",
      "[51]\teval-auc:0.870541\ttrain-auc:0.985516\n",
      "[52]\teval-auc:0.870808\ttrain-auc:0.985754\n",
      "[53]\teval-auc:0.871129\ttrain-auc:0.986063\n",
      "[54]\teval-auc:0.871337\ttrain-auc:0.986353\n",
      "[55]\teval-auc:0.87153\ttrain-auc:0.986566\n",
      "[56]\teval-auc:0.871714\ttrain-auc:0.986741\n",
      "[57]\teval-auc:0.871929\ttrain-auc:0.987059\n",
      "[58]\teval-auc:0.872172\ttrain-auc:0.987486\n",
      "[59]\teval-auc:0.872487\ttrain-auc:0.987778\n",
      "[60]\teval-auc:0.87274\ttrain-auc:0.98801\n",
      "[61]\teval-auc:0.872954\ttrain-auc:0.988206\n",
      "[62]\teval-auc:0.873278\ttrain-auc:0.98852\n",
      "[63]\teval-auc:0.873384\ttrain-auc:0.988707\n",
      "[64]\teval-auc:0.873572\ttrain-auc:0.988901\n",
      "[65]\teval-auc:0.873695\ttrain-auc:0.989157\n",
      "[66]\teval-auc:0.873877\ttrain-auc:0.989356\n",
      "[67]\teval-auc:0.874172\ttrain-auc:0.989544\n",
      "[68]\teval-auc:0.8742\ttrain-auc:0.989677\n",
      "[69]\teval-auc:0.874364\ttrain-auc:0.989918\n",
      "[70]\teval-auc:0.874429\ttrain-auc:0.990026\n",
      "[71]\teval-auc:0.874562\ttrain-auc:0.990152\n",
      "[72]\teval-auc:0.87475\ttrain-auc:0.990325\n",
      "[73]\teval-auc:0.874846\ttrain-auc:0.990508\n",
      "[74]\teval-auc:0.875024\ttrain-auc:0.990671\n",
      "[75]\teval-auc:0.875141\ttrain-auc:0.990768\n",
      "[76]\teval-auc:0.87524\ttrain-auc:0.990979\n",
      "[77]\teval-auc:0.875367\ttrain-auc:0.991082\n",
      "[78]\teval-auc:0.875537\ttrain-auc:0.991312\n",
      "[79]\teval-auc:0.87563\ttrain-auc:0.991419\n",
      "[80]\teval-auc:0.875695\ttrain-auc:0.991541\n",
      "[81]\teval-auc:0.875822\ttrain-auc:0.9917\n",
      "[82]\teval-auc:0.875954\ttrain-auc:0.991846\n",
      "[83]\teval-auc:0.875981\ttrain-auc:0.992016\n",
      "[84]\teval-auc:0.876142\ttrain-auc:0.992105\n",
      "[85]\teval-auc:0.876206\ttrain-auc:0.992183\n",
      "[86]\teval-auc:0.876339\ttrain-auc:0.992306\n",
      "[87]\teval-auc:0.876432\ttrain-auc:0.99239\n",
      "[88]\teval-auc:0.876495\ttrain-auc:0.992492\n",
      "[89]\teval-auc:0.876583\ttrain-auc:0.992594\n",
      "[90]\teval-auc:0.876646\ttrain-auc:0.992692\n",
      "[91]\teval-auc:0.876748\ttrain-auc:0.992809\n",
      "[92]\teval-auc:0.876812\ttrain-auc:0.992887\n",
      "[93]\teval-auc:0.876885\ttrain-auc:0.993053\n",
      "[94]\teval-auc:0.877\ttrain-auc:0.99312\n",
      "[95]\teval-auc:0.877095\ttrain-auc:0.993191\n",
      "[96]\teval-auc:0.877209\ttrain-auc:0.993284\n",
      "[97]\teval-auc:0.877314\ttrain-auc:0.993482\n",
      "[98]\teval-auc:0.87737\ttrain-auc:0.993596\n",
      "[99]\teval-auc:0.877537\ttrain-auc:0.993695\n",
      "log_loss ... 0.42549059161993086\n",
      "accuracy is ... 0.8013566690402129\n",
      "auc is  ... 0.877537439495098\n",
      "total time elapsed is 102.49768900871277\n",
      "df 1000: ng 2\n",
      "BOW and xgb\n",
      "Voabulary size is 871\n",
      "[0]\teval-auc:0.762793\ttrain-auc:0.844758\n",
      "[1]\teval-auc:0.787714\ttrain-auc:0.877511\n",
      "[2]\teval-auc:0.799839\ttrain-auc:0.896559\n",
      "[3]\teval-auc:0.811303\ttrain-auc:0.914386\n",
      "[4]\teval-auc:0.817441\ttrain-auc:0.923368\n",
      "[5]\teval-auc:0.822852\ttrain-auc:0.930284\n",
      "[6]\teval-auc:0.828108\ttrain-auc:0.93665\n",
      "[7]\teval-auc:0.832701\ttrain-auc:0.942911\n",
      "[8]\teval-auc:0.83492\ttrain-auc:0.946328\n",
      "[9]\teval-auc:0.838266\ttrain-auc:0.949367\n",
      "[10]\teval-auc:0.840971\ttrain-auc:0.95199\n",
      "[11]\teval-auc:0.843084\ttrain-auc:0.954508\n",
      "[12]\teval-auc:0.844607\ttrain-auc:0.955978\n",
      "[13]\teval-auc:0.846554\ttrain-auc:0.958384\n",
      "[14]\teval-auc:0.848037\ttrain-auc:0.959759\n",
      "[15]\teval-auc:0.848921\ttrain-auc:0.961291\n",
      "[16]\teval-auc:0.849953\ttrain-auc:0.962287\n",
      "[17]\teval-auc:0.851003\ttrain-auc:0.963304\n",
      "[18]\teval-auc:0.852288\ttrain-auc:0.96459\n",
      "[19]\teval-auc:0.854347\ttrain-auc:0.967342\n",
      "[20]\teval-auc:0.855031\ttrain-auc:0.968453\n",
      "[21]\teval-auc:0.855914\ttrain-auc:0.969175\n",
      "[22]\teval-auc:0.856612\ttrain-auc:0.969946\n",
      "[23]\teval-auc:0.857141\ttrain-auc:0.970535\n",
      "[24]\teval-auc:0.857858\ttrain-auc:0.971381\n",
      "[25]\teval-auc:0.858383\ttrain-auc:0.972086\n",
      "[26]\teval-auc:0.859141\ttrain-auc:0.972623\n",
      "[27]\teval-auc:0.859654\ttrain-auc:0.973217\n",
      "[28]\teval-auc:0.860669\ttrain-auc:0.974399\n",
      "[29]\teval-auc:0.861112\ttrain-auc:0.974826\n",
      "[30]\teval-auc:0.86178\ttrain-auc:0.975582\n",
      "[31]\teval-auc:0.862352\ttrain-auc:0.976225\n",
      "[32]\teval-auc:0.863099\ttrain-auc:0.976842\n",
      "[33]\teval-auc:0.863651\ttrain-auc:0.977417\n",
      "[34]\teval-auc:0.86393\ttrain-auc:0.977821\n",
      "[35]\teval-auc:0.864536\ttrain-auc:0.978518\n",
      "[36]\teval-auc:0.865158\ttrain-auc:0.979635\n",
      "[37]\teval-auc:0.865746\ttrain-auc:0.980172\n",
      "[38]\teval-auc:0.866205\ttrain-auc:0.980661\n",
      "[39]\teval-auc:0.866547\ttrain-auc:0.981068\n",
      "[40]\teval-auc:0.866758\ttrain-auc:0.981369\n",
      "[41]\teval-auc:0.867062\ttrain-auc:0.981788\n",
      "[42]\teval-auc:0.867621\ttrain-auc:0.982231\n",
      "[43]\teval-auc:0.868042\ttrain-auc:0.982704\n",
      "[44]\teval-auc:0.868296\ttrain-auc:0.982989\n",
      "[45]\teval-auc:0.868611\ttrain-auc:0.983234\n",
      "[46]\teval-auc:0.868948\ttrain-auc:0.983594\n",
      "[47]\teval-auc:0.869612\ttrain-auc:0.984132\n",
      "[48]\teval-auc:0.869919\ttrain-auc:0.984342\n",
      "[49]\teval-auc:0.870155\ttrain-auc:0.984655\n",
      "[50]\teval-auc:0.870492\ttrain-auc:0.984896\n",
      "[51]\teval-auc:0.870814\ttrain-auc:0.985125\n",
      "[52]\teval-auc:0.871049\ttrain-auc:0.985366\n",
      "[53]\teval-auc:0.871251\ttrain-auc:0.985608\n",
      "[54]\teval-auc:0.871666\ttrain-auc:0.986172\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[55]\teval-auc:0.871811\ttrain-auc:0.986383\n",
      "[56]\teval-auc:0.871955\ttrain-auc:0.986669\n",
      "[57]\teval-auc:0.872174\ttrain-auc:0.986872\n",
      "[58]\teval-auc:0.872355\ttrain-auc:0.987032\n",
      "[59]\teval-auc:0.872516\ttrain-auc:0.987277\n",
      "[60]\teval-auc:0.872725\ttrain-auc:0.98752\n",
      "[61]\teval-auc:0.87295\ttrain-auc:0.987747\n",
      "[62]\teval-auc:0.873199\ttrain-auc:0.9879\n",
      "[63]\teval-auc:0.873267\ttrain-auc:0.988072\n",
      "[64]\teval-auc:0.873448\ttrain-auc:0.988423\n",
      "[65]\teval-auc:0.873709\ttrain-auc:0.988667\n",
      "[66]\teval-auc:0.874024\ttrain-auc:0.98895\n",
      "[67]\teval-auc:0.874246\ttrain-auc:0.989133\n",
      "[68]\teval-auc:0.874361\ttrain-auc:0.989267\n",
      "[69]\teval-auc:0.874554\ttrain-auc:0.989455\n",
      "[70]\teval-auc:0.874673\ttrain-auc:0.989647\n",
      "[71]\teval-auc:0.87482\ttrain-auc:0.989845\n",
      "[72]\teval-auc:0.874926\ttrain-auc:0.990023\n",
      "[73]\teval-auc:0.875164\ttrain-auc:0.99016\n",
      "[74]\teval-auc:0.875375\ttrain-auc:0.990334\n",
      "[75]\teval-auc:0.875467\ttrain-auc:0.990519\n",
      "[76]\teval-auc:0.875578\ttrain-auc:0.990611\n",
      "[77]\teval-auc:0.875819\ttrain-auc:0.990795\n",
      "[78]\teval-auc:0.875973\ttrain-auc:0.990905\n",
      "[79]\teval-auc:0.876076\ttrain-auc:0.991082\n",
      "[80]\teval-auc:0.876103\ttrain-auc:0.991216\n",
      "[81]\teval-auc:0.876194\ttrain-auc:0.991393\n",
      "[82]\teval-auc:0.876403\ttrain-auc:0.991531\n",
      "[83]\teval-auc:0.876518\ttrain-auc:0.991709\n",
      "[84]\teval-auc:0.876594\ttrain-auc:0.991833\n",
      "[85]\teval-auc:0.87663\ttrain-auc:0.991932\n",
      "[86]\teval-auc:0.876745\ttrain-auc:0.992071\n",
      "[87]\teval-auc:0.876811\ttrain-auc:0.992182\n",
      "[88]\teval-auc:0.87695\ttrain-auc:0.992327\n",
      "[89]\teval-auc:0.877004\ttrain-auc:0.992441\n",
      "[90]\teval-auc:0.877117\ttrain-auc:0.992547\n",
      "[91]\teval-auc:0.877208\ttrain-auc:0.992637\n",
      "[92]\teval-auc:0.877271\ttrain-auc:0.992731\n",
      "[93]\teval-auc:0.877314\ttrain-auc:0.992854\n",
      "[94]\teval-auc:0.877324\ttrain-auc:0.992935\n",
      "[95]\teval-auc:0.877382\ttrain-auc:0.99303\n",
      "[96]\teval-auc:0.877461\ttrain-auc:0.993108\n",
      "[97]\teval-auc:0.877534\ttrain-auc:0.993247\n",
      "[98]\teval-auc:0.877577\ttrain-auc:0.993361\n",
      "[99]\teval-auc:0.877757\ttrain-auc:0.993452\n",
      "log_loss ... 0.4246309239842078\n",
      "accuracy is ... 0.8015065772214519\n",
      "auc is  ... 0.8777574950313657\n",
      "total time elapsed is 137.2987048625946\n",
      "df 1000: ng 3\n",
      "BOW and xgb\n",
      "Voabulary size is 956\n",
      "[0]\teval-auc:0.763018\ttrain-auc:0.843796\n",
      "[1]\teval-auc:0.788411\ttrain-auc:0.876903\n",
      "[2]\teval-auc:0.800175\ttrain-auc:0.894875\n",
      "[3]\teval-auc:0.809716\ttrain-auc:0.910013\n",
      "[4]\teval-auc:0.816186\ttrain-auc:0.920261\n",
      "[5]\teval-auc:0.823119\ttrain-auc:0.929062\n",
      "[6]\teval-auc:0.825842\ttrain-auc:0.934046\n",
      "[7]\teval-auc:0.829841\ttrain-auc:0.939622\n",
      "[8]\teval-auc:0.833311\ttrain-auc:0.942794\n",
      "[9]\teval-auc:0.836252\ttrain-auc:0.947234\n",
      "[10]\teval-auc:0.838724\ttrain-auc:0.949944\n",
      "[11]\teval-auc:0.840515\ttrain-auc:0.951831\n",
      "[12]\teval-auc:0.843611\ttrain-auc:0.955898\n",
      "[13]\teval-auc:0.845528\ttrain-auc:0.957974\n",
      "[14]\teval-auc:0.847489\ttrain-auc:0.959528\n",
      "[15]\teval-auc:0.848744\ttrain-auc:0.961053\n",
      "[16]\teval-auc:0.849791\ttrain-auc:0.962133\n",
      "[17]\teval-auc:0.850695\ttrain-auc:0.963009\n",
      "[18]\teval-auc:0.851744\ttrain-auc:0.964378\n",
      "[19]\teval-auc:0.852959\ttrain-auc:0.96538\n",
      "[20]\teval-auc:0.853771\ttrain-auc:0.966475\n",
      "[21]\teval-auc:0.85479\ttrain-auc:0.967668\n",
      "[22]\teval-auc:0.855308\ttrain-auc:0.96834\n",
      "[23]\teval-auc:0.85589\ttrain-auc:0.969088\n",
      "[24]\teval-auc:0.856561\ttrain-auc:0.969819\n",
      "[25]\teval-auc:0.857201\ttrain-auc:0.970694\n",
      "[26]\teval-auc:0.857768\ttrain-auc:0.971347\n",
      "[27]\teval-auc:0.858205\ttrain-auc:0.971787\n",
      "[28]\teval-auc:0.858676\ttrain-auc:0.972408\n",
      "[29]\teval-auc:0.859563\ttrain-auc:0.973635\n",
      "[30]\teval-auc:0.86034\ttrain-auc:0.974352\n",
      "[31]\teval-auc:0.860889\ttrain-auc:0.975113\n",
      "[32]\teval-auc:0.862246\ttrain-auc:0.976616\n",
      "[33]\teval-auc:0.862764\ttrain-auc:0.977093\n",
      "[34]\teval-auc:0.863131\ttrain-auc:0.97743\n",
      "[35]\teval-auc:0.86359\ttrain-auc:0.977997\n",
      "[36]\teval-auc:0.864191\ttrain-auc:0.97852\n",
      "[37]\teval-auc:0.864841\ttrain-auc:0.979433\n",
      "[38]\teval-auc:0.865367\ttrain-auc:0.980112\n",
      "[39]\teval-auc:0.865743\ttrain-auc:0.980443\n",
      "[40]\teval-auc:0.866088\ttrain-auc:0.98085\n",
      "[41]\teval-auc:0.866465\ttrain-auc:0.981237\n",
      "[42]\teval-auc:0.866817\ttrain-auc:0.981673\n",
      "[43]\teval-auc:0.867353\ttrain-auc:0.982009\n",
      "[44]\teval-auc:0.867801\ttrain-auc:0.982369\n",
      "[45]\teval-auc:0.868142\ttrain-auc:0.983006\n",
      "[46]\teval-auc:0.868422\ttrain-auc:0.983526\n",
      "[47]\teval-auc:0.868796\ttrain-auc:0.983862\n",
      "[48]\teval-auc:0.868968\ttrain-auc:0.984087\n",
      "[49]\teval-auc:0.869358\ttrain-auc:0.984404\n",
      "[50]\teval-auc:0.869648\ttrain-auc:0.984885\n",
      "[51]\teval-auc:0.869895\ttrain-auc:0.98516\n",
      "[52]\teval-auc:0.870642\ttrain-auc:0.985687\n",
      "[53]\teval-auc:0.87089\ttrain-auc:0.985917\n",
      "[54]\teval-auc:0.871307\ttrain-auc:0.986231\n",
      "[55]\teval-auc:0.871582\ttrain-auc:0.986495\n",
      "[56]\teval-auc:0.871681\ttrain-auc:0.986708\n",
      "[57]\teval-auc:0.871959\ttrain-auc:0.986962\n",
      "[58]\teval-auc:0.872166\ttrain-auc:0.987173\n",
      "[59]\teval-auc:0.872462\ttrain-auc:0.987381\n",
      "[60]\teval-auc:0.872566\ttrain-auc:0.987567\n",
      "[61]\teval-auc:0.872733\ttrain-auc:0.98784\n",
      "[62]\teval-auc:0.872831\ttrain-auc:0.98804\n",
      "[63]\teval-auc:0.872983\ttrain-auc:0.988254\n",
      "[64]\teval-auc:0.873205\ttrain-auc:0.988511\n",
      "[65]\teval-auc:0.873332\ttrain-auc:0.988757\n",
      "[66]\teval-auc:0.873507\ttrain-auc:0.988995\n",
      "[67]\teval-auc:0.873669\ttrain-auc:0.989246\n",
      "[68]\teval-auc:0.873878\ttrain-auc:0.989537\n",
      "[69]\teval-auc:0.87389\ttrain-auc:0.98967\n",
      "[70]\teval-auc:0.87408\ttrain-auc:0.989848\n",
      "[71]\teval-auc:0.874285\ttrain-auc:0.990002\n",
      "[72]\teval-auc:0.874397\ttrain-auc:0.990163\n",
      "[73]\teval-auc:0.874542\ttrain-auc:0.990319\n",
      "[74]\teval-auc:0.874687\ttrain-auc:0.990458\n",
      "[75]\teval-auc:0.874744\ttrain-auc:0.990645\n",
      "[76]\teval-auc:0.874788\ttrain-auc:0.990787\n",
      "[77]\teval-auc:0.874938\ttrain-auc:0.990899\n",
      "[78]\teval-auc:0.875065\ttrain-auc:0.990987\n",
      "[79]\teval-auc:0.875088\ttrain-auc:0.991115\n",
      "[80]\teval-auc:0.875168\ttrain-auc:0.991238\n",
      "[81]\teval-auc:0.875286\ttrain-auc:0.99135\n",
      "[82]\teval-auc:0.875386\ttrain-auc:0.991445\n",
      "[83]\teval-auc:0.875533\ttrain-auc:0.991645\n",
      "[84]\teval-auc:0.87564\ttrain-auc:0.991772\n",
      "[85]\teval-auc:0.875748\ttrain-auc:0.991862\n",
      "[86]\teval-auc:0.875837\ttrain-auc:0.992016\n",
      "[87]\teval-auc:0.875898\ttrain-auc:0.992097\n",
      "[88]\teval-auc:0.875958\ttrain-auc:0.992243\n",
      "[89]\teval-auc:0.876107\ttrain-auc:0.992423\n",
      "[90]\teval-auc:0.876234\ttrain-auc:0.992504\n",
      "[91]\teval-auc:0.876287\ttrain-auc:0.99261\n",
      "[92]\teval-auc:0.876447\ttrain-auc:0.992773\n",
      "[93]\teval-auc:0.876534\ttrain-auc:0.992886\n",
      "[94]\teval-auc:0.876656\ttrain-auc:0.992974\n",
      "[95]\teval-auc:0.876704\ttrain-auc:0.99305\n",
      "[96]\teval-auc:0.876709\ttrain-auc:0.99316\n",
      "[97]\teval-auc:0.876818\ttrain-auc:0.993299\n",
      "[98]\teval-auc:0.876912\ttrain-auc:0.993403\n",
      "[99]\teval-auc:0.876989\ttrain-auc:0.993468\n",
      "log_loss ... 0.42596463177513627\n",
      "accuracy is ... 0.8014541093580182\n",
      "auc is  ... 0.8769888265307577\n",
      "total time elapsed is 164.3327910900116\n"
     ]
    }
   ],
   "source": [
    "def train_params_xgb(min_df = 100,ngrams = 1,analyzer = 'word',train = train):\n",
    "    start_time = time.time()\n",
    "    print('BOW and xgb')\n",
    "    BOW = getBOW(min_df=min_df,ngrams = ngrams,analyzer = analyzer)\n",
    "    trainq1_trans = BOW.transform(train['question1'].values)\n",
    "    trainq2_trans = BOW.transform(train['question2'].values)\n",
    "    labels = train['is_duplicate'].values\n",
    "    X = scipy.sparse.hstack((trainq1_trans,trainq2_trans))\n",
    "    y = labels\n",
    "    X_train,X_valid,y_train,y_valid = train_test_split(X,y, test_size = 0.33, random_state = 42)\n",
    "    dtrain = xgb.DMatrix(X_train,label = y_train)\n",
    "    dvalid = xgb.DMatrix(X_valid,label = y_valid)\n",
    "    param = {'max_depth':50, 'eta':0.3, 'silent':1, 'objective':'binary:logistic','subsample':0.8,'gamma':0 }\n",
    "    param['nthread'] = 7   \n",
    "    param['eval_metric'] = 'auc'\n",
    "    num_round = 100\n",
    "    evallist  = [(dvalid,'eval'),(dtrain,'train')]\n",
    "    bst = xgb.train(param, dtrain, num_round, evallist)\n",
    "    y_pred = bst.predict(dvalid)\n",
    "    loss = log_loss(y_valid,y_pred)\n",
    "    print('log_loss ... {}'.format(loss))\n",
    "    accuracy = accuracy_score(y_valid,np.round(y_pred).astype(int))\n",
    "    print('accuracy is ... {}'.format(accuracy))\n",
    "    auc = roc_auc_score(y_valid,y_pred)\n",
    "    print('auc is  ... {}'.format(auc))\n",
    "    end_time =time.time()\n",
    "    print(\"total time elapsed is {}\".format(end_time-start_time))\n",
    "    return [loss,accuracy,auc]\n",
    "\n",
    "df_arr = [10,100,1000]\n",
    "ngrams = [1,2,3]\n",
    "met_xgb = np.zeros([3,3,3])\n",
    "for i,df in enumerate(df_arr):\n",
    "    for j,ng in enumerate(ngrams):\n",
    "        print('df {}: ng {}'.format(df,ng))\n",
    "        met_xgb[i,j,:] = train_params_xgb(min_df = df,ngrams = ng,analyzer = 'word',train = train)\n",
    "np.save('xgb_met.npy',met_xgb)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "xgb_met = np.load('xgb_met.npy')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x1a17732208>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_arr = [10,100,1000]\n",
    "ngrams = [1,2,3]\n",
    "for i in range(3):\n",
    "    plt.plot(xgb_met[i,:,1],label = df_arr[i])\n",
    "plt.legend()\n",
    "plt.show()\n",
    "\n",
    "for i in range(3):\n",
    "    plt.plot(xgb_met[:,i,1],label = ngrams[i])\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x1a16d32a90>"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "logistic = np.load('logistic.npy')\n",
    "df_arr = [10,100,1000]\n",
    "ngrams = [1,2,3]\n",
    "for i in range(3):\n",
    "    plt.plot(logistic[i,:,1],label = df_arr[i])\n",
    "plt.legend()\n",
    "plt.show()\n",
    "\n",
    "for i in range(3):\n",
    "    plt.plot(logistic[:,i,1],label = ngrams[i])\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
